#ifndef __RBUS_PARSER_H
#define __RBUS_PARSER_H

// 通道值范围定义
#define RBUS_CH_MIN -100
#define RBUS_CH_MID 0
#define RBUS_CH_MAX 100

// 开关状态定义 (基于通道值映射)
#define RBUS_SWITCH_UP 0
#define RBUS_SWITCH_MID 1
#define RBUS_SWITCH_DOWN 2

// 开关状态定义 (基于通道值映射)
#define RBUS_SWITCH_OFF 0
#define RBUS_SWITCH_ON 1

// 解析状态
typedef struct
{
    uint8_t is_valid; // 是否有效 0-无效 1-有效 计算值
    // 原始数据转换位标准信息
    uint8_t is_lost; // 是否连接 0-未连接 1-已连接 逻辑值
    uint32_t last_update;
    // 解析后的通道值用 (-660 ~ 660)
    int16_t right_x;      // 通道1: 右摇杆X
    int16_t right_y;      // 通道2: 右摇杆Y
    int16_t left_y;       // 通道3: 左摇杆Y
    int16_t left_x;       // 通道4: 左摇杆X
    uint8_t switch_mode; // 模式转换  0/1 - 预留
    uint8_t switch_power; // 0-关 1-开 启动开关
    uint8_t switch_rate;  // 速度档位 DOWN 2-低速 MID 1-中速 UP 0-高速
    int16_t wheel_rate;  // 0~100 速度调节  预留
} RBUS_parser;           // 都转成标准控制

#endif